package com.bestcem.xm.user.dao;

import com.bestcem.xm.user.entity.pojo.UserGroupExportRecordDO;

import java.util.List;

/**
 * 层级组织导出 dao
 *
 * @author wangyunyun <yunyun.wang@idiaoyan.com>
 * @version v1.0
 * @date 2022/4/19 17:50
 */
public interface UserGroupExportRecordDao {

    /**
     * 通过条件统计组织导出记录
     *
     * @param userGroupExportRecordDO 组织导出记录do
     * @return Long
     * @author wangyunyun <yunyun.wang@idiaoyan.com>
     * @date 2022/4/20 10:29
     */
    Long countBySelective(UserGroupExportRecordDO userGroupExportRecordDO);

    /**
     * 创建组织导出记录
     *
     * @param userGroupExportRecordDO 组织导出记录do
     * @return String
     * @author wangyunyun <yunyun.wang@idiaoyan.com>
     * @date 2022/4/20 09:24
     */
    String insertSelective(UserGroupExportRecordDO userGroupExportRecordDO);

    /**
     * 通过公司id和导出记录id更新组织导出记录
     *
     * @param userGroupExportRecordDO 组织导出记录do
     * @return Integer
     * @author wangyunyun <yunyun.wang@idiaoyan.com>
     * @date 2022/4/20 13:47
     */
    Integer updateByIdAndOrgId(UserGroupExportRecordDO userGroupExportRecordDO);

    /**
     * 通过分页条件查询组织导出记录
     *
     * @param exportRecordDO 组织导出记录do
     * @param currentPage 当前页
     * @param pageSize 页条数
     * @return List<UserGroupImportRecordDO>
     * @author wangyunyun <yunyun.wang@idiaoyan.com>
     * @date 2022/4/20 16:11
     */
    List<UserGroupExportRecordDO> selectByPage(UserGroupExportRecordDO exportRecordDO, Integer currentPage, Integer pageSize);

    /**
     * 根据条件查询导入组织记录
     *
     * @param exportRecordDO
     * @return List<UserGroupExportRecordDO>
     * @author wangyunyun <yunyun.wang@idiaoyan.com>
     * @date 2022/7/12 16:18
     */
    List<UserGroupExportRecordDO> selectBySelective(UserGroupExportRecordDO exportRecordDO);
}
